import axios from 'axios';
import { message as Message } from 'ant-design-vue';
import { config } from 'webpack';

const instance = axios.create({
  timeout: 20000,
  // withCredentials: true,
  baseURL: 'http://localhost:3000/api',
});

// 添加请求拦截器
instance.interceptors.request.use(
  function (config: any) {
    config.headers = { 'Authorization': '' }
    
    // 在发送请求之前做些什么
    return config;
  },
  function (error: any) {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);

// 添加响应拦截器
instance.interceptors.response.use(
  function (response: any) {
    // 对响应数据做点什么
    const res = response.data;
    if (res.code === 0) {
      return res;
    } else {
      Message.error(res.message);
      return Promise.reject(res);
    }
  },
  function (error: any) {
    // 对响应错误做点什么
    Message.error(error?.response?.data?.message || '服务端异常');
    return Promise.reject(error);
  }
);

export default instance;
